草庐IT

java - Spring Boot 1.5.x 的速度

全部标签

有/没有 cmd.exe 的 Java 子进程命令行执行

我的问题包括几件关于在Windows中从Java执行子进程时使用“cmd.exe”、“/c”的事情我不明白。基本上,我找不到关于何时以及为何需要它们的良好解释。我的具体问题:我有一个用于子流程执行的小框架。一种用途是Java应用程序,它“管理”由ProcessBuilders创建的其他几个JVM。其中一项关键要求是,当子进程卡住或托管应用程序终止时,它必须能够杀死子进程。一方面,问题是这样做:newProcessBuilder("java","...").start();原因:Couldnotfindorloadmainclass...就好像系统变量或目录不同(实际上它们不是)。另一方

java - log4j2 输出未写入日志文件

我是第一次尝试使用log4j2。我从各个站点复制了一些配置示例,但似乎都没有生成日志文件的输出。输出到STDOUT/控制台工作正常。我可以从控制台输出中看到已找到log4j2.xml文件。关于如何让它写入日志文件的任何想法。我在Windows7上使用Java8和log4j2.5。Java源代码packagelog4j2Demo;importorg.apache.logging.log4j.LogManager;importorg.apache.logging.log4j.Logger;publicclassLogDemo{privatestaticfinalLoggerlogger=L

Java Swing 右边框不适用于 Microsoft Windows

我无法让标准的BorderFactory.createEmptyBorder在JavaSwing中正常工作。我用一个简单的Java应用程序进行了尝试,该应用程序创建了一个SpinnerView并在其周围声明了一个空边框。除了微调器View的右侧外,边框无处不在。但这只发生在Windows中,在OSX上它按预期工作。为了阐明边框的使用:在我的实际应用程序中,我在微调器的外部有一个可见的边框,然后我想将文本居中放置在里面。我发现createCompoundBorder属性对此非常有用。importjavax.swing.*;importjava.awt.*;importjavax.swin

windows - 在构建机器上编译 java 代码会出现 major.minor 错误 52

其他开发人员推送了代码,我们正在构建机器上构建它。我遇到了UnsupportedMajor.minorversion52错误。有什么办法可以找到开发Java文件时使用的JDK版本。有人能帮忙吗 最佳答案 您所说的开发可能是指编译java文件。获取.class文件并使用javap查看它:javap-c-verboseConstructorReference.class输出(在输出的开头)publicclassorg.ConstructorReferenceminorversion:0majorversion:5353-meansjav

java - 如何在 java 中删除文件路径编码 %20

我正在尝试使用java在特定路径中创建一个xml文件。问题是,如果我给文件路径加上空格,它在空格中用'%20'编码。请帮助我解决这个问题。我给的文件路径——“F:/BackupFiles/testng2.xml”编码后——“F:/Backup%20Files/testng2.xml”代码:TransformerFactorytransformerFactory=TransformerFactory.newInstance();Transformertransformer=transformerFactory.newTransformer();DOMSourcesource=newDOM

java - 如何在 Windows 上使用单个命令行编译和运行 Java

每当我想构建和运行我的程序时,我都会这样做:javacmyProgram.javajavamyProgram我想做这样的事情:buildrun=javac(some_argument).java&&java(some_argument)所以我可以之后buildrunmyProgram如何在Windows上实现这一点? 最佳答案 正如其他人所建议的那样,您可以简单地创建一个批处理文件来构建和运行您的程序。在记事本中复制并另存为.bat。@echooffset/pclass="EnterClass:"javac"%class%".jav

java - JUnit5 Gradle 插件文件名或扩展名太长

将org.junit.platform.gradle.plugin添加到构建中并从junit4迁移所有内容后,Gradle开始中断并出现以下错误。在vintagerunner上运行一切正常,但junit5测试不是。*Exceptionis:org.gradle.api.tasks.TaskExecutionException:Executionfailedfortask':server:junitPlatformTest'.Causedby:org.gradle.process.internal.ExecException:Aproblemoccurredstartingprocess

java - 如何在 Java 9 统一日志记录中使用带冒号的 Windows 文件名?

%java11-Xlog:gc*:file=c:\max.txt-version[0.002s][error][logging]Invaliddecorator'\max.txt'.Invalid-Xlogoption'-Xlog:gc*:file=c:\max.txt',seeerrorlogfordetails.Error:CouldnotcreatetheJavaVirtualMachine.Error:Afatalexceptionhasoccurred.Programwillexit.显然,对于Java9(及更高版本)统一日志记录,冒号用作-Xlog参数中字段之间的分隔符。那

java - 使用 SHARE 属性在 Windows 中内存映射文件(因此文件不会被锁定以防止删除)

有什么方法可以将文件的内容映射到Windows中的内存中而不锁定文件(特别是,这样可以在仍然mmap的情况下删除文件)?JavaNIO在Windows中以这样一种方式库mmap文件,即当堆中有任何非垃圾收集的MappedByteBuffer引用时,无法删除映射文件。JDK团队声称这是Windows的限制,但仅当文件被mmap时,而不是当它们作为常规文件打开时:https://mail.openjdk.java.net/pipermail/nio-dev/2019-January/005698.html(显然,如果一个文件在mmap时被删除,那么mmap区域究竟应该发生什么在Window

java - 在 NTFS 上用 Java 创建稀疏文件

这个命令应该创建一个稀疏文件:channel=Files.newByteChannel(path,EnumSet.of(CREATE,WRITE,SPARSE));但是,它只是创建一个常规(非稀疏)文件。我可以在命令行上使用fsutil手动将其转换为稀疏文件,但如何让Java运行时执行此操作?我在Windows10(NTFS)上使用Java11。 最佳答案 显然,创建稀疏文件仅适用于OpenOptionCREATE_NEW(替换任何现有文件),但不适用于CREATE(仅当文件不存在时才创建文件)。channel=Files.newB